/**   
 * @Title: AssetInformation.java 
 * @Package com.betterjr.modules.loan.entity 
 * @Description: TODO(用一句话描述该文件做什么) 
 * @author xuzx
 * @date 2017年11月15日 下午6:20:07  
 */
package com.betterjr.modules.loan.entity;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

import com.betterjr.common.entity.BetterjrEntity;

/** 
 * @ClassName: AssetInformation 
 * @Description: 资产信息统计
 * @author xuzx
 * @date 2017年11月15日 下午6:20:07 
 *  
 */

public class ScfAssetInformation implements BetterjrEntity {

    private static final long serialVersionUID = 1L;
    /**
     * 贸易合同笔数
     */
    private int contractLedgerCount;
    /**
     * 贸易合同金额
     */
    private BigDecimal contractLedgerMoney;
    /**
     * 贸易合同未审核笔数
     */
    private int notAuditedContractLedgerCount;
    /**
     * 应收账款笔数
     */
    private int scfReceivableDOCount;
    /**
     * 应收账款金额
     */
    private BigDecimal scfReceivableDOMoney;
    /**
     * 票据笔数
     */
    private int scfAcceptBillDOCount;
    /**
     * 票据金额
     */
    private BigDecimal scfAcceptBillDOMoney;
    /**
     * 发票笔数
     */
    private int scfInvoiceDOCount;
    /**
     *发票统计金额
     */
    private BigDecimal scfInvoiceDOMoney;
    /**
     * 未审核发票笔数
     */
    private int notAuditedscfInvoiceDOCount;
    /**
     * 订单笔数
     */
    private int scfOrderDOCount;
    /**
     * 订单统计金额
     */
    private BigDecimal scfOrderDOOMoney;

    private String supplierName;
    /**
     * 授信区域属性
     */
    private Map<String, Object> scfCreditMap = new HashMap<String, Object>();
    /**
     * 金额区域信息，pendingApproval：待审批，repayment：已还款，beOverdue：已逾期，securedLoan：已放款
     */
    private Map<String, Object> securedLoanMap = new HashMap<String, Object>();

    public int getContractLedgerCount() {
        return contractLedgerCount;
    }

    public void setContractLedgerCount(int anContractLedgerCount) {
        contractLedgerCount = anContractLedgerCount;
    }

    public BigDecimal getContractLedgerMoney() {
        return contractLedgerMoney;
    }

    public void setContractLedgerMoney(BigDecimal anContractLedgerMoney) {
        contractLedgerMoney = anContractLedgerMoney;
    }

    public int getNotAuditedContractLedgerCount() {
        return notAuditedContractLedgerCount;
    }

    public void setNotAuditedContractLedgerCount(int anNotAuditedContractLedgerCount) {
        notAuditedContractLedgerCount = anNotAuditedContractLedgerCount;
    }

    public int getScfReceivableDOCount() {
        return scfReceivableDOCount;
    }

    public void setScfReceivableDOCount(int anScfReceivableDOCount) {
        scfReceivableDOCount = anScfReceivableDOCount;
    }

    public BigDecimal getScfReceivableDOMoney() {
        return scfReceivableDOMoney;
    }

    public void setScfReceivableDOMoney(BigDecimal anScfReceivableDOMoney) {
        scfReceivableDOMoney = anScfReceivableDOMoney;
    }

    public int getScfAcceptBillDOCount() {
        return scfAcceptBillDOCount;
    }

    public void setScfAcceptBillDOCount(int anScfAcceptBillDOCount) {
        scfAcceptBillDOCount = anScfAcceptBillDOCount;
    }

    public BigDecimal getScfAcceptBillDOMoney() {
        return scfAcceptBillDOMoney;
    }

    public void setScfAcceptBillDOMoney(BigDecimal anScfAcceptBillDOMoney) {
        scfAcceptBillDOMoney = anScfAcceptBillDOMoney;
    }

    public int getScfInvoiceDOCount() {
        return scfInvoiceDOCount;
    }

    public void setScfInvoiceDOCount(int anScfInvoiceDOCount) {
        scfInvoiceDOCount = anScfInvoiceDOCount;
    }

    public BigDecimal getScfInvoiceDOMoney() {
        return scfInvoiceDOMoney;
    }

    public void setScfInvoiceDOMoney(BigDecimal anScfInvoiceDOMoney) {
        scfInvoiceDOMoney = anScfInvoiceDOMoney;
    }

    public int getNotAuditedscfInvoiceDOCount() {
        return notAuditedscfInvoiceDOCount;
    }

    public void setNotAuditedscfInvoiceDOCount(int anNotAuditedscfInvoiceDOCount) {
        notAuditedscfInvoiceDOCount = anNotAuditedscfInvoiceDOCount;
    }

    public int getScfOrderDOCount() {
        return scfOrderDOCount;
    }

    public void setScfOrderDOCount(int anScfOrderDOCount) {
        scfOrderDOCount = anScfOrderDOCount;
    }

    public BigDecimal getScfOrderDOOMoney() {
        return scfOrderDOOMoney;
    }

    public void setScfOrderDOOMoney(BigDecimal anScfOrderDOOMoney) {
        scfOrderDOOMoney = anScfOrderDOOMoney;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String anSupplierName) {
        supplierName = anSupplierName;
    }

    public Map<String, Object> getScfCreditMap() {
        return scfCreditMap;
    }

    public void setScfCreditMap(Map<String, Object> anScfCreditMap) {
        scfCreditMap = anScfCreditMap;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + contractLedgerCount;
        result = prime * result + (contractLedgerMoney == null ? 0 : contractLedgerMoney.hashCode());
        result = prime * result + notAuditedContractLedgerCount;
        result = prime * result + notAuditedscfInvoiceDOCount;
        result = prime * result + scfAcceptBillDOCount;
        result = prime * result + (scfAcceptBillDOMoney == null ? 0 : scfAcceptBillDOMoney.hashCode());
        result = prime * result + (scfCreditMap == null ? 0 : scfCreditMap.hashCode());
        result = prime * result + scfInvoiceDOCount;
        result = prime * result + (scfInvoiceDOMoney == null ? 0 : scfInvoiceDOMoney.hashCode());
        result = prime * result + scfOrderDOCount;
        result = prime * result + (scfOrderDOOMoney == null ? 0 : scfOrderDOOMoney.hashCode());
        result = prime * result + scfReceivableDOCount;
        result = prime * result + (scfReceivableDOMoney == null ? 0 : scfReceivableDOMoney.hashCode());
        result = prime * result + (securedLoanMap == null ? 0 : securedLoanMap.hashCode());
        result = prime * result + (supplierName == null ? 0 : supplierName.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (!(obj instanceof ScfAssetInformation)) {
            return false;
        }
        ScfAssetInformation other = (ScfAssetInformation) obj;
        if (contractLedgerCount != other.contractLedgerCount) {
            return false;
        }
        if (contractLedgerMoney == null) {
            if (other.contractLedgerMoney != null) {
                return false;
            }
        } else if (!contractLedgerMoney.equals(other.contractLedgerMoney)) {
            return false;
        }
        if (notAuditedContractLedgerCount != other.notAuditedContractLedgerCount) {
            return false;
        }
        if (notAuditedscfInvoiceDOCount != other.notAuditedscfInvoiceDOCount) {
            return false;
        }
        if (scfAcceptBillDOCount != other.scfAcceptBillDOCount) {
            return false;
        }
        if (scfAcceptBillDOMoney == null) {
            if (other.scfAcceptBillDOMoney != null) {
                return false;
            }
        } else if (!scfAcceptBillDOMoney.equals(other.scfAcceptBillDOMoney)) {
            return false;
        }
        if (scfCreditMap == null) {
            if (other.scfCreditMap != null) {
                return false;
            }
        } else if (!scfCreditMap.equals(other.scfCreditMap)) {
            return false;
        }
        if (scfInvoiceDOCount != other.scfInvoiceDOCount) {
            return false;
        }
        if (scfInvoiceDOMoney == null) {
            if (other.scfInvoiceDOMoney != null) {
                return false;
            }
        } else if (!scfInvoiceDOMoney.equals(other.scfInvoiceDOMoney)) {
            return false;
        }
        if (scfOrderDOCount != other.scfOrderDOCount) {
            return false;
        }
        if (scfOrderDOOMoney == null) {
            if (other.scfOrderDOOMoney != null) {
                return false;
            }
        } else if (!scfOrderDOOMoney.equals(other.scfOrderDOOMoney)) {
            return false;
        }
        if (scfReceivableDOCount != other.scfReceivableDOCount) {
            return false;
        }
        if (scfReceivableDOMoney == null) {
            if (other.scfReceivableDOMoney != null) {
                return false;
            }
        } else if (!scfReceivableDOMoney.equals(other.scfReceivableDOMoney)) {
            return false;
        }
        if (securedLoanMap == null) {
            if (other.securedLoanMap != null) {
                return false;
            }
        } else if (!securedLoanMap.equals(other.securedLoanMap)) {
            return false;
        }
        if (supplierName == null) {
            if (other.supplierName != null) {
                return false;
            }
        } else if (!supplierName.equals(other.supplierName)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ScfAssetInformation [contractLedgerCount=" + contractLedgerCount + ", contractLedgerMoney="
                + contractLedgerMoney + ", notAuditedContractLedgerCount=" + notAuditedContractLedgerCount
                + ", scfReceivableDOCount=" + scfReceivableDOCount + ", scfReceivableDOMoney=" + scfReceivableDOMoney
                + ", scfAcceptBillDOCount=" + scfAcceptBillDOCount + ", scfAcceptBillDOMoney=" + scfAcceptBillDOMoney
                + ", scfInvoiceDOCount=" + scfInvoiceDOCount + ", scfInvoiceDOMoney=" + scfInvoiceDOMoney
                + ", notAuditedscfInvoiceDOCount=" + notAuditedscfInvoiceDOCount + ", scfOrderDOCount="
                + scfOrderDOCount + ", scfOrderDOOMoney=" + scfOrderDOOMoney + ", supplierName=" + supplierName
                + ", scfCreditMap=" + scfCreditMap + ", securedLoanMap=" + securedLoanMap + "]";
    }

    public Map<String, Object> getSecuredLoanMap() {
        return securedLoanMap;
    }

    public void setSecuredLoanMap(Map<String, Object> anSecuredLoanMap) {
        securedLoanMap = anSecuredLoanMap;
    }

}
